package kr.pe.johnkim.app.mobile.rest.dao;

import kr.pe.johnkim.app.domain.MyHistoryCategory;
import kr.pe.johnkim.app.domain.MyHistoryItem;
import kr.pe.johnkim.app.domain.MyHistoryCategoryRelation;

import java.util.List;

/**
 * My History 아이템과 카테고리 관계를 정의한 인터페이스 이다.
 * 
 * @author : johnkim <cale9797@gmail.com / Simple.ly Inc,>
 * @Date : 11. 12. 27
 */
public interface MyHistoryCatetoryRelationDao {
    /**
     * 아이템을 카테고리에 연결 한다.
     * 
     * @param myHistoryCategoryRelation
     * @return True or False
     */
    public boolean registerRelation(MyHistoryCategoryRelation myHistoryCategoryRelation);

    /**
     * 아이템을 카테고리에 연결을 해제 한다.
     * 
     * @param myHistoryCategoryRelation
     * @return True or False
     */
    public boolean updateDeactivateRelation(MyHistoryCategoryRelation myHistoryCategoryRelation);

    /**
     * 아이템에 등록된 카테고리 목록을 가져 온다.
     * 
     * @param myHistoryCategoryRelation
     * @return List<MyHistoryRelation>
     */
    public List<MyHistoryCategory> selectRelationCategoryList(MyHistoryCategoryRelation myHistoryCategoryRelation);

    /**
     * 카테고리에 등록된 아이템 목록을 가져 온다.
     * 
     * @param myHistoryCategoryRelation
     * @return List<MyHistoryItem>
     */
    public List<MyHistoryItem> selectRelationItemList(MyHistoryCategoryRelation myHistoryCategoryRelation);
}
